package com.mlnx.work.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mlnx.common.form.PageForm;
import com.mlnx.work.entity.ProjectDir;
import com.mlnx.work.entity.Right;
import com.mlnx.work.pojo.form.FilterForm;
import com.mlnx.work.pojo.form.ProjectFilterForm;
import com.mlnx.work.pojo.vo.*;

import java.util.List;

/**
 * author name: amanda.shan
 * create time: 2020-12-28 16:58:01
 */
public interface ProjectDirService extends IBaseService<ProjectDir> {
    List<MemberVO> getMemberById(Integer dirId);

    List<ProjectListVO> getProjectListByMember(Integer memberId);

    ProjectVO getProjectById(Integer dirId);

    ProjectDetailVO getProjectDetailById(Integer dirId);

    ProjectTaskVO getProjectTaskByDirId(Integer id);

    Page<ProjectTaskVO> getProjectTask(Long startTime, Long endTime, PageForm pageForm, ProjectFilterForm projectFilterForm);

    Page<CommonProjectVO> getProjectRoot(Long startTime, Long endTime, PageForm pageForm);

    Page<CommonProjectVO> getProjectDir(Integer dirId, PageForm pageForm);

    Page<CommonProjectVO> getProjectTask(Integer taskId, PageForm pageForm);

    List<Right> getRights();

    Page<CommonProjectVO> projectFilter(PageForm pageForm, FilterForm filterForm);
}

